/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DataTypes;

import Proxies.EnumRol;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Iterator;

/**
 *
 * @author Sebas
 */
public class DataGrupo implements Serializable{
    private String nombre;
    private String desc;
    private int cantParticipantes;
    private DataMuro muro;
    private ArrayList<String> participantes;

  
    private ArrayList<String> moderadores;
    private String creador;
    private String img;
    private Calendar fechaCreacion;
     private HashMap<String,DataEvento> calEventos;

    public DataGrupo() {
        participantes = new ArrayList<String>();
        muro = new DataMuro();
        moderadores = new ArrayList<String>();
        fechaCreacion = new GregorianCalendar();
        calEventos = new HashMap<String, DataEvento>();
    }
    
    public DataGrupo(String nombre,String desc,int cantPart,String img,
                    Calendar fechaCreacion,DataMuro muro,HashMap<String,DataEvento> calEventos,ArrayList<DataRol>roles) {
        
        this.nombre = nombre;
        this.desc = desc;
        this.cantParticipantes = cantPart;
        this.img = img;
        this.fechaCreacion = fechaCreacion;
        
        //Agregar usuarios.
        Iterator<DataRol> listUsr = roles.iterator();
        participantes = new ArrayList<String>();
        moderadores = new ArrayList<String>();
        this.calEventos = calEventos;
        DataRol usr = null;
        while (listUsr.hasNext()){
            
            usr = listUsr.next();
            if (usr.getRolUsr()==EnumRol.CREADOR)
                creador = usr.getUsr().getCorreo();
            if (usr.getRolUsr()==EnumRol.MODERADOR)
                moderadores.add(usr.getUsr().getCorreo());
            if (usr.getRolUsr()==EnumRol.PARTICIPANTE)
                participantes.add(usr.getUsr().getCorreo());
            
        }
        
        this.muro = muro;
        
    }

    public Calendar getFechaCreacion() {
        return fechaCreacion;
    }

    public void setFechaCreacion(Calendar fechaCreacion) {
        this.fechaCreacion = fechaCreacion;
    }


      public HashMap<String,DataEvento> getCalEventos() {
        return calEventos;
    }

    public void setCalEventos(HashMap<String,DataEvento> calEventos) {
        this.calEventos = calEventos;
    }
    public String getCreador() {
        return creador;
    }

    public void setCreador(String creador) {
        this.creador = creador;
    }
    
    public String getImg() {
        return img;
    }

    public ArrayList<String> getParticipantes() {
        return participantes;
    }

    public void setParticipantes(ArrayList<String> participantes) {
        this.participantes = participantes;
    }

    public void setImg(String img) {
        this.img = img;
    }


    public int getCantParticipantes() {
        return cantParticipantes;
    }

    public ArrayList<String> getModeradores() {
        return moderadores;
    }

    public void setModeradores(ArrayList<String> moderadores) {
        this.moderadores = moderadores;
    }

    
    public void setCantParticipantes(int cantParticipantes) {
        this.cantParticipantes = cantParticipantes;
    }

    public DataMuro getMuro() {
        return muro;
    }

    public void setMuro(DataMuro muro) {
        this.muro = muro;
    }



    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    @Override
    public String toString() {
        return "Nombre: "+nombre
               +"\nDescripcion: "+desc
               +"\nCantidad de participantes: "+cantParticipantes;
    }
    
    
    
}
